package edu.sctu.fengleilin.month05.day150525;
import java.util.Arrays;
/**
 * Created by user09 on 2015/5/25.
 */
/*1、 考试成绩已保存在数组 scores 中，数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73
  2、 要求通过自定义方法来实现成绩排名并输出操作，将成绩数组作为参数传入
  3、 要求判断成绩的有效性（ 0—100 ），如果成绩无效，则忽略此成绩
*/
public class SortArrayAndCount {

    //完成 main 方法
    public static void main(String[] args) {

        int[] scores = {89,-23,64,91,119,52,73};

        System.out.println("排序后的成绩：");

        SortArrayAndCount hello = new SortArrayAndCount();

        hello.TopThree(scores);//调用方法，传人成绩数组
    }

    //输入考试成绩的前三名，定义一个包含整型数组参数的方法，用来传入成绩数组。

    public void TopThree(int[] scores){
        Arrays.sort(scores);
        int num = 0;//保存有效成绩的数量
        for(int i = scores.length-1;i >= 0;i--){//使用 for 循环遍历数组中的元素，由于要输出的是前三名成绩，所以从后往前遍历，即倒序遍历
            if(scores[i] > 100||scores[i] < 0){//判断成绩的有效性
                continue;//如果成绩无效，则跳出本次循环，忽略次成绩
            }
            num++;//有效成绩数加1
            if(num > 3){//判断有效成绩的数量
                break;//如果有效成绩大于3，则结束循环，只输出成绩的前三名
            }
            System.out.println(scores[i]);
        }
    }
}
